Date: Wed, 20 Nov 1996 22:29:04 GMT
Server: Apache/1.0.3
Content-type: text/html
Content-length: 11069
Last-modified: Fri, 05 Jan 1996 14:48:55 GMT

<HTML>
<HEAD>
<TITLE>C646 Course Information</TITLE>

<META name="resource type" value="document">
<META name="description" value="CSCI C646 Course Information">
<META name="keywords" value="syllabus, C646">
<META na:istribution" value="local">
</HEAD>

<BODY>
<H1>C646: Database Design Theory</H1>

<H2>Contents</H2>

<UL>
<LI> <!WA0><A HREF="#general">General Information</A>
<LI> <!WA1><A HREF="#description">Course Description</A>
<LI> <!WA2><A HREF="#list_of_topics">List of Topics</A>
<LI> <!WA3><A HREF="#textbooks">Textbooks</A>
<LI> <!WA4><A HREF="#addi_readings">Additional Readings</A>
<LI> <!WA5><A HREF="#syllabus">Required Readings From Textbooks</A>
<LI> <!WA6><A HREF="#assignments">Assignments</A>
<LI> <!WA7><A HREF="#communication">Communication</A>
<LI> <!WA8><A HREF="#evaluation">Tasks and Grade Distribution</A>
<LI> <!WA9><A HREF="#policies">Policies</A>
</UL>

<A NAME="general"><H2>General Information</H2></A>

<DL>
<DT> Instructor
<DD> <!WA10><A HREF="http://www.cs.indiana.edu/hyplan/vgucht.html">Dirk Van Gucht</A>
	<ADDRESS>vgucht@cs.indiana.edu</ADDRESS>
	LH 401B (855-6429), <BR>
	Office Hours: Tuesday 10:00am-11:00am, Wednesday 2:00pm-3:00pm <P>
<DT> Lecture
<DD> Section 2044, MW 11:15am-12:30pm, in WH 106

<DT> Local newsgroup
<DD> <!WA11><A HREF="news:ac.c.646">ac.c.646</A>
</DL> 

<A NAME="description"><H2>Course Description</H2></A>

This course will cover several central topics in the area of
databases.  These include <i>database modeling</i>; <i>theory, design
and implementation of query languages</i>; <i>post-relational
database systems</i>; and <i>theory of transactions management</i>. <P>


It is strongly recommended that you have had a course which covers the
principles of database systems.  Furthermore, programming experience
with C++ is expected. <P>

Programming assignments will involve Sybase (a relational database
management system), Coral (a deductive database programming language),
Postgres (an object-relational database management system), and Exodus
or Shore (an object-oriented storage manager).  If time permits, we
will also use ODE (an object-oriented database management system).
Information about these systems is maintained in the Database Group
homepage at <!WA12><A HREF="http://www.cs.indiana.edu/database/DBLab.html#systems">http://www.cs.indiana.edu/database/DBLab.html#systems</A>.
These database systems are maintained in the database laboratory (LH
401A) by the database lab systems assistant Sudhir Rao (srao@center).
Please contact Sudhir about technical issues related to these systems. <P>


<A NAME="list_of_topics"><H2>List of Topics</H2></A>
<UL>
<LI>Preliminaries (2 lectures)
<UL>
<LI>Notions from discrete mathematics.
<LI>Notions from mathematical logic.
</UL>

<LI>Database models (8 lectures)
<UL>
<LI>Review of the classic database models (relational,
hierarchical and network).
<LI>Semantic database models (the entity-relationship
model, the functional database model, the complex-object database model,
and object-oriented database models).
<LI>Implementation of database modeling principles in
post-relational database systems.
</UL>

<LI>Database languages (12 lectures)
<UL>
<LI>Relational database languages.
<UL>
<LI>Relational algebra and calculus; SQL and QBE; Graphical query languages. 
<LI>Datalog and the fixpoint queries.
<LI>Computationally complete relational query languages.
</UL>
<LI>Query languages and database languages for post-relational database models and systems.
<UL>
<LI>Theory of query languages for post-relational database models.
<LI>Implementation of query languages in post-relational
systems.
</UL>
</UL>

<LI>Transactions management (7 lectures)
<UL>
<LI>Concurrency control.
<LI>Recovery.
<LI>Distributed databases.
</UL>

</UL>
<P>


<A NAME="textbooks"><H2>Textbooks</H2></A>
<UL>
<LI><i>Foundations of Databases</i>, S. Abiteboul, R. Hull, and V. Vianu, Addison Wesley, 1995.
<LI><i>Concurrency control and recovery in database systems</i>,
A. Bernstein, V. Hadzilacos, and N. Goodman, Addison-Wesley, 1987.
<LI><i>Readings in Database Systems</i>, 2nd edition, M. Stonebraker, Morgan Kaufmann, 1994.
</UL>
<P>

<A NAME="addi_readings"><H2>Additional Readings</H2></A>
<UL>
<LI><i>Foundations of Databases</i>, S. Abiteboul, R. Hull, and V. Vianu, Addison Wesley, 1995.
<LI><i>Set theory and logic</i>, Robert R. Stoll, Dover, 1963.
<LI><i>Principles of Database and Knowledge-Base Systems</i>,
Jeffrey Ullman, Vol.~I and II, Computer Science Press, 1988.
<LI><i>Data models</i>, Tsichritzis and Lochovsky, Prentice Hall, 1982.
<LI><i>Object data management: Object-oriented and extended
relational database systems</i>, R. Cattell, 1991.
<LI><i>The Object Database Standard: ODMG-93,
Release 1.1</i>, R. Cattell, 1993.
<LI><i>The benchmark handbook: for database and transaction
processing systems</i>, Jim Gray, Morgan Kaufmann, 1991.
<LI>Online manuals of relational and post-relational systems
maintained in the Database Group homepage (<!WA13><A HREF="http://www.cs.indiana.edu/database/DBLab.html#systems">http://www.cs.indiana.edu/database/DBLab.html#systems</A>). 
</UL>
<P>

In addition, the following journals are good sources for additional
reading: <i>ACM Transactions on Database Systems</i>, <i>IEEE
Transactions on Data and Knowledge Engineering</i> and <i>ACM SIGMOD
Record</i>.  Finally, the proceedings of the <i>ACM SIGMOD Int'l
Conference on Management of Data</i>, the <i>ACM SIGACT-SIGMOD-SIGART
Symposium on Principles of Database Systems</i>, and the <i>Int'l
Conference of Very Large Databases</i> offer papers of the most recent
research in databases.  (These journals and proceedings are available
at Swain Library.)
<P>



<A NAME="syllabus"><H2>Required Readings From Textbooks</H2></A>

The course lectures will come mostly from material in the three
textbooks.  The chapters of these textbooks which are crucial to this
course are given below.  I will try to make it clear what readings
correspond to a given week's lecture.  Specific material from other
interesting reading materials may also be assigned during the
semester. <P>

<UL>
<LI><i>Foundations of Databases</i>.
<UL>
<LI>Part A: Chapters 1, 2, and 3.
<LI>Part B: Chapters 4 and 5.
<LI>Part D: Chapters 12, 13, and 14.
<LI>Part E: Chapters 16 and 17.
<LI>Part F: Chapters 20 and 21.
</UL>
<LI><i>Concurrency control and recovery in database systems</i>.
<UL>
<LI>Chapters 1, 2, and 3 (except 3.12).
<LI>Chapters 6 and 7.
</UL>
<LI><i>Readings in Database Systems</i>.
<UL>
<LI>Chapter 1: Introduction and articles 1, 2, and 3.
<LI>Chapter 2: Introduction and articles 1 and 7.
<LI>Chapter 3: Introduction and articles 1.
<LI>Chapter 4: Introduction and articles 3.
<LI>Chapter 5: Introduction and articles 2 and 3.
<LI>Chapter 6: Introduction and articles 1 and 3.
<LI>Chapter 7: Introduction and articles 3.
<LI>Chapter 9: Introduction and articles 3 and 4.
<LI>Chapter 10: Introduction and articles 1, 2, and 4.
<LI>Chapter 11: Introduction and articles 2 and 4.
<LI>Chapter 12: Introduction and articles 1, 2, 3, and 4.
</UL>
</UL>
<P>


<UL>
<LI>Week 1:  <i>Foundations of Databases</i>: Chapters 1, 2 and 3.
<LI>Week 2:  <i>Foundations of Databases</i>: Chapter 11.1.
<i>Readings in Database Systems</i>.   Chapter 10: Introduction and articles 1, 2, and 4.
<LI> Readings for second part of the course:
<UL>
<LI> 10/18 : Stonebraker: Chapter 10 , Data Model Issues for OO systems. and 
Chapter 11 (sections 1, 3) on OODB systems.
<LI> 10/23 : Stonebraker: Page 838 onwards, Story of O2.
Abiteboul: Pages 554-555, semantics of OODBs.
<LI> 10/25: Stonebraker: Page 873 onwards, POSTGRES 95.

<LI> 10/30: Communications of ACM, Oct 1991 (Stonebraker et al): POSTGRES 

<LI> 11/8: Object Database Standard  -> Chapters 2,4 & 5. 
        (on reserve in Swain Hall)

<LI> 11/12:  Stonebraker: Page 709 onwards, paper on Object Store.
Page 670, paper on ODE.

<LI> 11/15: Ode 4.0 (ODE<EOS>) User Manual (available on line)

<LI> 11/20: Bernstein-Hadzilacos-Goodman:  Chapters 1 and 2.

<LI> 11/27: Bernstein-Hadzilacos-Goodman:  Chapters 2 and 3.

<LI> 12/4: Bernstein-Hadzilacos-Goodman:  Chapter 6.
</UL>

</UL>
<P>

<A NAME="assignments"><H2>Assignments</H2></A>

The details of the assignments will be covered in the lecture. You are
encouraged to discuss the fundamental issues of each assignment with
your classmates, but we expect the work you actually hand in to be
your own. <P>

As the assignments are given, the hypertext version of this course
description will be updated to contain links to the assignment description. <P>

<UL>
<LI> <!WA14><A HREF="http://www.cs.indiana.edu/classes/c646/assign1.html">Assignment 1</A> 
<LI> <!WA15><A HREF="http://www.cs.indiana.edu/classes/c646/data">Data for assignment 1</A> 
<LI> <!WA16><A HREF="http://www.cs.indiana.edu/classes/c646/newdata">New data for assignment 1</A> 
<LI> <!WA17><A HREF="http://www.cs.indiana.edu/classes/c646/assign2.html">Assignment 2</A>
<LI> <!WA18><A HREF="http://www.cs.indiana.edu/classes/c646/assign3.html">Assignment 3</A>
</UL>



<A NAME="communication"><H2>Communication</H2></A>

The course newsgroup, <!WA19><A HREF="news:ac.c.646">ac.c.646</A>, will be
used to post announcements, such as assignments, exams, and any exceptions
to my usual office hours.  You are also encouraged to use it to post
questions related to the course or share related information with the
class.  Make a habit of looking for new notes a few times each week. <P>

This course description is accessible as an HTML (hypertext markup
language) file on the WWW (World Wide Web) by accessing the Computer
Science Department's home page (<CODE>http://www.cs.indiana.edu/</CODE>)
and following the link for C646.  It will be updated with additional
information, such as programming assignments, as the course progresses. <P>


<A NAME="evaluation"><H2>Tasks and Grade Distribution</H2></A>

<UL>
<LI> Assignments (40%). These assignments will involve programming in post-relational database systems.
<LI> Two exams (each worth 30%). These will be take home exams and will deal with the theoretical aspects of the course.
</UL><P>


<A NAME="policies"><H2>Policies</H2></A>

<H3>Academic Integrity</H3>

Read the Computer Science Department's <!WA20><A
HREF="http://www.cs.indiana.edu/integrity.html"><I>Statement on
Academic Integrity</I></A> to be sure you understand the rules under
which computer science courses operate.  Cases of academic dishonesty
will be reported to the Office of Student Ethics, a branch of the
Office of the Dean of Students.  <P>

<H3>Withdrawal</H3>

Wednesday, October 25, is the last day (until 4 p.m.) to drop a course or
withdraw from all courses with an automatic `W'.  After that date, a
student may withdraw only with the permission of his or her dean.
This approval is normally only for urgent reasons related to
extended illness or equivalent distress.   <P>

Wednesday, November 29, is the last day for deans to approve a course
drop.  <P>

<H3>Incomplete grade</H3>

An incomplete (`I') final grade will be given only by prior arrangement
in exceptional circumstances conforming to university and departmental
policy which requires, among other things, that the student must have
completed the bulk of the work required for the course with a passing
grade, and that the remaining work can be made up within 30 days after
the end of the semester.  <P>

</BODY>
</HTML>
